User-level Resource-constrained Sandboxing
نویسندگان
چکیده
The popularity of mobile and networked applications has resulted in an increased demand for execution “sandboxes”—environments that impose irrevocable restrictions on resource usage. Existing approaches rely on kernel modification for enforcing quantitative restrictions (e.g., limiting CPU utilization of an application to 25%). However, the general applicability of such approaches is constrained by the difficulty of modifying shrink-wrapped operating systems such as Windows NT. This paper presents a user-level sandboxing approach for enforcing quantitative restrictions on resource usage of applications. Our approach actively monitors an application’s interactions with the underlying system, proactively controlling them to enforce the desired behavior. Our approach leverages a core set of user-level mechanisms that are available in most modern operating systems: fine-grained timers, monitoring infrastructure, debugger processes, priority-based scheduling, and pagebased memory protection. We describe implementation of a sandbox on Windows NT that imposes quantitative restrictions on CPU, memory, and network usage. Our results show that application usage of system resources can be restricted to within 3% of desired limits with minimal run-time overhead.
منابع مشابه
Secure, User-level Resource-constrained Sandboxing
The popularity of mobile and networked applications has resulted in an increasing demand for execution “sandboxes”—environments that impose irrevocable qualitative and quantitative restrictions on resource usage. Existing approaches either verify application compliance to restrictions at start time (e.g., using certified code or language-based protection) or enforce it at run time (e.g., using ...
متن کاملSoftware-Based Memory Protection In Sensor Nodes
Typical sensor nodes are resource constrained microcontrollers containing user level applications, operating system components, and device drivers in a single address space, with no form of memory protection. A programming error in an application can easily corrupt the state of the operating system and other software components on the node. In this paper, we propose a memory protection scheme t...
متن کاملUser-Level Sandboxing: a Safe and Efficient Mechanism for Extensibility
Extensible systems allow services to be configured and deployed for the specific needs of individual applications. This paper describes a safe and efficient method for userlevel extensibility that requires only minimal changes to the kernel. A sandboxing technique is described that supports multiple logical protection domains within the same address space at user-level. This approach allows app...
متن کاملFlexible and Efficient Sandboxing Based on Fine-Grained Protection Domains
Sandboxing is one of the most promising technologies for safely executing potentially malicious applications, and it is becoming an indispensable functionality of modern computer systems. Nevertheless, traditional operating systems provide no special support for sandboxing; a sandbox system is either built in the user level, or directly encoded in the kernel level. In the user-level implementat...
متن کاملBeyond Ring-3: Fine Grained Application Sandboxing
In the recent years the types of malware and level of their sophistication has increased dramatically [1]. In 2007, the number of computer viruses increased by 1 million and most of them were new attacks [2]. Unknown code downloaded and executed from the Internet can cause unrecoverable damage to the Operating System via privilege-escalation attacks. Malicious code can be unintentionally and tr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000